[C] Swap Coding

Publicado por Enzo de Brito Ferber (última atualização em 14/12/2011)

[ Hits: 6.071 ]

Homepage: http://www.maximasonorizacao.com.br

Download swapcoding.c

Download 1323748901.swapcoding.c (versão 2)




Programa que fiz para ajudar em um tópico no fórum da comunidade.
Descrição que levou ao programa em:

http://vivaolinux.com.br/topico/C-C++/string-1/

"...Programa que pede uma string e codifica-a numa nova
string tirando os caracteres do principio e do fim sucessivamente, começando
pela esquerda. Pára quando chegar ao meio da string..."

  



Versões atualizadas deste script

Versão 2 - Enviado por euteste da silva em 13/12/2011

Changelog: Alguns ajustes no código para adicionamento dos includes corretos e suporte ao caracteres de acentuação.

Download 1323748901.swapcoding.c


Esconder código-fonte

// swapcoding.c
#include <stdio.h>
#include <stdlib.h>

// o proximo define faz com que a limpeza do buffer funcione no em *nix e windows!
#ifndef WIN32
  #define fflush __fpurge
#endif

/* 
 * argc, argv -> argumentos que podem ser usados para entrada
 *               pela linha de comando no Linux/Unix
 */
int main (int argc, char*argv[]) 
{
    char str[512]; // entrada de dados
    char aux[512]; // string invertida
    register int i,j; // contadores

    // permite entrada de dados até que o usuário digite 'exitme'
    while(1) 
    {
          // query!
          printf ("Input : "); fflush(stdin); scanf("%[^\n]", str);
          
          // saida do loop
          if( !strcmp(str,"exitme")) break;
          
          /*
           * i -> referencia na string original
           * j -> referencia na string codificada
           */
          for ( i = 0, j=0; i < (strlen(str))/2; i++,j+=2 ) {
              aux[j] = str[strlen(str)-i -1]; 
              aux[j+1] = str[i];
          }

          // letra do meio se for impar!
          if ( strlen(str)%2)
             aux[strlen(str)-1] = str[strlen(str)/2];
    
          // ultimo caractere
          aux[strlen(str)] = 0x0;
          
          // print it!
          printf( "Output: %s\n\n", aux);
    }
    
    // bye-bye
    return 0;
}

Scripts recomendados

Perguntas

Arquivo introdutório para chamadas de funções

Múltiplos de 7 - Descrescente

Exemplo Básico de Ponteiros em C

C --> Calculadora de equações de 2º grau explicada.


  

Comentários
[1] Comentário enviado por EnzoFerber em 16/12/2011 - 22:40h

"adicionamento dos includes corretos e suporte ao caracteres de acentuação"...

Han?!

Então tá....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts